#pragma once
#include "../source/SGD_Handle.h"

class CPart
{
private:

	int m_nStat_Turning;
	int m_nStat_Mass;
	int m_nStat_FuelConsumption;
	int m_nStat_HullPointz;
	int m_nStat_SensorPackage;
	int m_nStat_Thrusters;

	HTexture hImage_Piece;


public:
	CPart(void);
	CPart(unsigned int unShip_Part_Title=0, unsigned int unShip_Part_Special=0, unsigned int un_Part_Type=0, int nStat_Turning=0,int nStat_Mass=0,int nStat_FuelConsumption=0,
			int nStat_HullPointz=0,	int nStat_SensorPackage=0, int nStat_Thrusters=0, HTexture unShip_Part_Image=HTexture());
	~CPart(void);
	
	//THESE enum will be the Names of the ships, and used to check and see if the three Part match.
	enum SHIP_PART_TITLE{P_NA,P_SHIP,P_SPACECRAFT,P_ROCKET,P_SOLAR_SALOR,P_TARDIS,P_TANK};
	unsigned int m_unShip_Part_Title;

	//This will set what special goes with the ship. (Same way CShip Does.)
	enum SHIP_PART_SET_SPECIAL{P_TELEPORT=1,P_AFTERBUNER=2,P_TIME_REWIND=4,P_LAZER=8,P_SOLAR_SHIELDING=16,P_PIRATING=32,P_INVULSHIELD=64};
	unsigned int m_unShip_Part_Special;

	///
	enum SHIP_PART_TYPE{NOSE, HULL, ENGINE}; 
	unsigned int m_unShip_Part_Type;

	
	//Mutators
	int Get_Part_Turning(void)			{return m_nStat_Turning;};
	int Get_Part_Mass(void)				{return m_nStat_Mass;};
	int Get_Part_FuelConsumption(void)	{return m_nStat_FuelConsumption;};
	int Get_Part_HullPointz(void)		{return m_nStat_HullPointz;};
	int Get_Part_SensorPackage(void)	{return m_nStat_SensorPackage;};
	int Get_Part_Thrusters(void)		{return m_nStat_Thrusters;};
	int Get_Part_Type		(void)		{return m_unShip_Part_Type;};
	int Get_Part_Special (void)			{return m_unShip_Part_Special;};
	int Get_Part_Title	(void)			{return m_unShip_Part_Title;};
	HTexture Get_Image_Piece (void) {return hImage_Piece;};

   void Set_Part_Turning (int turning)			{m_nStat_Turning=turning;};
   void Set_Part_Mass	(int mass)				{m_nStat_Mass=mass;};
   void Set_Part_FuelConsumption (int Fuel)		{m_nStat_FuelConsumption=Fuel;};
   void Set_Part_HullPointz (int HP)			{m_nStat_HullPointz=HP;};
   void Set_Part_SensorPackage	(int SensorPack){m_nStat_SensorPackage=SensorPack;};
   void Set_Part_Thrusters	(int thrusters)		{m_nStat_Thrusters=thrusters;};
   void Set_Part_Type	(unsigned int Type)		{m_unShip_Part_Type=Type;};
   void Set_Part_Special (unsigned int Special)	{m_unShip_Part_Special=Special;};
   void Set_Part_Title	(unsigned int Title)	{m_unShip_Part_Title=Title;};
   void Set_Image_Piece (HTexture Image)	{hImage_Piece=Image;};
	
};

